/**
 * 给定一个字符串 s ，请你找出其中不含有重复字符的 最长子串 的长度。
 *
 */
class LengthOfLongestSubstringTwo {
    public int lengthOfLongestSubstring(String s) {
        Set<Character> set=new HashSet<>();
        int left=0;
        int right=0;
        int res=0;
        int len=s.length();
        while(right<len) {
            char c=s.charAt(right);
            right++;
            while(set.contains(c)) {
                char d=s.charAt(left);
                left++;
                set.remove(d);
            }
            set.add(c);
            res=Math.max(res,right-left);
        }
        return res;
    }
}